pub fn dp_rec_mc(amount: u32) -> u32 {
    let rmb=[1, 2, 5, 10, 20, 30, 50, 100];
    let des=amount;
    let mut dp=vec![vec![1000000_u32;des as usize +1];9];
    for i in 0..=8{
        dp[i][0]=0;
    }
    for i in 1..=8{
        for j in 1..=des as usize{
            if j<rmb[i-1]{
                dp[i][j]=dp[i-1][j];
            }else{
                dp[i][j]=dp[i-1][j].min(dp[i][j-rmb[i-1]]+1);
            }
        }
    }
    dp[8][des as usize]
}
